/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package nesemulator;

/**
 *
 * @author ebenj
 */
public class Nes {
    private RomData romData;
    private int a=0,x=0,y=0; //general purpose registers
    
    private int nmiAddr,resetAddr,irqAddr; //addresses of various subroutines
    
    private int pc; //program counter, starts at resetAddr
    private int s=0; //stack pointer, goes from $00 to $FF past $100
    
    private int c=0; //cary flag
    private int z=0; //zero flag
    private int interruptDisable=0;
    private int decimal=0; //not used , shouldn't matter
    private int breakFlag=0; //always 1 except after interrupt
    private int o=0; //overflow flag
    private int n=0; //negative flag
    
    //Values controlled by IO register at $2000:
    private int nameTableAddr = 0x2000; //bits 0-1, sets one of four addresses of name table in PPU. 0=$2000,1=$2400,2=$2800,3=$2C00
    private int incrementAmount = 1; //bit 2, sets amount to increment (sprite?) address by. 0=1,1=32
    
    public Nes(RomData romData){
        
    }
}
